//
//  ApiUrlProvider.h
//  oos4ios
//
//  Created by Pablo Gonzalez on 3/7/11.
//  Copyright 2011 11870.com. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "ApiUrl.h"

@interface ApiUrlProvider : NSObject {
	
	// Base and generic paths:
	NSString *baseProtocol, *baseHost, *baseSubHost;
	
	ApiUrl *base, *baseDomain, *servicePage, *apiDomain;
	
	// Info interactions
	ApiUrl *search,  *serviceReviews, *serviceDetails, *serviceMedia, 
	*categories, *attributes, *users, *userServices, *contacts, 
	*userActivity, *socialActivity;
	//Logged interactions
	ApiUrl *userCheckin, *serviceCheckin;
	// Category feeds
	ApiUrl *userLists, *userTags;
	
}

@property (nonatomic, retain) NSString *protocol;
@property (nonatomic, retain) NSString *domain;
@property (nonatomic, retain) NSString *subDomain;

@property (nonatomic, retain, readonly) ApiUrl *base;
@property (nonatomic, retain, readonly) ApiUrl *baseDomain;
@property (nonatomic, retain, readonly) ApiUrl *search;
@property (nonatomic, retain, readonly) ApiUrl *serviceReviews;
@property (nonatomic, retain, readonly) ApiUrl *serviceDetails;
@property (nonatomic, retain, readonly) ApiUrl *serviceMedia;
@property (nonatomic, retain, readonly) ApiUrl *categories;
@property (nonatomic, retain, readonly) ApiUrl *attributes;
@property (nonatomic, retain, readonly) ApiUrl *userCheckin;
@property (nonatomic, retain, readonly) ApiUrl *serviceCheckin;
@property (nonatomic, retain, readonly) ApiUrl *users;
@property (nonatomic, retain, readonly) ApiUrl *userServices;
@property (nonatomic, retain, readonly) ApiUrl *contacts;
@property (nonatomic, retain, readonly) ApiUrl *userActivity;
@property (nonatomic, retain, readonly) ApiUrl *socialActivity;
@property (nonatomic, retain, readonly) ApiUrl *userLists;
@property (nonatomic, retain, readonly) ApiUrl *userTags;
@property (nonatomic, retain, readonly) ApiUrl *servicePage;
@property (nonatomic, retain, readonly) ApiUrl *offers;
@property (nonatomic, retain, readonly) ApiUrl *userOffers;
@property (nonatomic, retain, readonly) ApiUrl *siteOffers;

+ (ApiUrlProvider *) provider;

- (void) build;

@end
